//Create By@ herongwei 2019/08/26
/*
题目描述
原理：ip地址的每段可以看成是一个0-255的整数，把每段拆分成一个二进制形式组合起来，然后把这个二进制数转变成
一个长整数。
举例：一个ip地址为10.0.3.193
每段数字             相对应的二进制数
10                   00001010
0                    00000000
3                    00000011
193                  11000001
组合起来即为：00001010 00000000 00000011 11000001,转换为10进制数就是：167773121，即该IP地址转换后的数字就是它了。

的每段可以看成是一个0-255的整数，需要对IP地址进行校验

输入描述:
输入 
1 输入IP地址
2 输入10进制型的IP地址

输出描述:
输出
1 输出转换成10进制的IP地址
2 输出转换后的IP地址

示例1
输入
复制
10.0.3.193
167969729
输出
复制
167773121
10.3.3.193
*/

#include <bits/stdc++.h>
using namespace std;

int main()
{
   // freopen("in.txt","r",stdin);
    long long n,d1,d2,d3,d4;
    char ch;
    while(cin>>d1>>ch>>d2>>ch>>d3>>ch>>d4)
    {
        cin>>n;
        long long ans = 0;
        ans += (d1<<24) + (d2<<16) + (d3<<8) + d4;

        d1 = (n>>24);
        d2 = (n>>16)&255; //为了每次移位后只取低8位的数
        d3 = (n>>8)&255;
        d4 = (n)&255;

        cout << ans << endl;
        cout<<d1 << '.' << d2 << '.' << d3 << '.' << d4 << endl;
    }
    return 0;
}
